1. Field of the Invention
The present invention relates to the field of network load balancing, and, more particularly, to load balancing based upon speech processing specific factors.
2. Description of the Related Art
Load balancers are often used to select one of several available servers for handling an incoming request. One conventional load balancing approach determines a relative load upon a server based upon a response time. For example, a load balancer can “ping” a server and determine load based upon “ping” response time. Another conventional load balancing technique is to use standard hardware metrics, such as memory, Central Processing Unit (CPU) usage, and the like, to determine server load.
A variety of industry standard load balancers exist that allow for load balancing algorithms used by a load balancer to be specified, added, or updated in a plug-in fashion. Most load balancers in use today fail to take into consideration server-specific factors that differentiate one voice server from another when assigning requests to request handling servers. Accordingly using conventional technologies, voice servers are treated in a common fashion by the load balancer, even though capabilities of different voice servers can vary significantly from one voice server to another.
No known industry standard load balancer determines load based upon speech processing specific factors, such as factors uniquely related to Text to Speech (TTS) and/or Automatic Speech Recognition (ASR) functions. These factors, which are unique to voice servers and/or speech processing tasks performed by a voice server, can have a significant practical effect on server loads and load determination results. Significant gains over in speech processing efficiency can be achieved by utilizing a load balancer that distributes load based upon speech processing specific factors as disclosed herein.
Additionally, no known voice server uses an industry standard load balancer in any fashion. Instead, most speech servers put the responsibility for load balancing on speech clients, which typically resort to simple round robin routing with client-side hunt lists.